package top.fangw.admin.service;

import top.fangw.admin.pojo.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import top.fangw.common.api.vo.InitAdminUserVo;
import top.fangw.common.api.vo.UserVo;

/**
 * <p>
 * 用途：存储用户信息 服务类
 * </p>
 *
 * @author fangw
 * @since 2024-02-21
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 添加用户
     * @param sysUser 用户信息
     */
    void add(SysUser sysUser);

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户信息
     */
    UserVo selectByUsername(String username);

    /**
     * 根据用户名和租户id查询用户
     * @param username 用户名
     * @param tenantId 租户id
     * @return 用户信息
     */
    UserVo selectByUsernameAndTenantId(String username, String tenantId);

    /**
     * 初始化租户管理员
     * @param initAdminUserVo 初始化租户管理员信息
     */
    InitAdminUserVo initTenantAdminUser(InitAdminUserVo initAdminUserVo);
}
